<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button>click</button>
    <script>
        // 1. 箭头函数本身没有this,它的this指向的是上层作用域中的this
        const fn = () => {
            console.log(this)
        }
        fn()

        // 2.对象方法的情况
        // 对象不会形成作用域
        const obj = {
            name:"叶问",
            fn:() => {
                // 箭头函数中,没this,往上层作用域中查找
                console.log(this)
            }
        }
        obj.fn()  //window

        // 全局作用域/局部作用域(函数作用域) / 块级作用域

        // 3.事件绑定
        const btn = document.querySelector('button')
        // 注意:这里的this不是btn
        btn.addEventListener('click', () => {
            console.log(this)
        })

        // 4.定时器  window
        setTimeout(() => {
            // 上层作用域是window
            console.log(this)
        }, 1000)



    </script>
</body>
</html>